6/2002

dgi productions presents

FD-Shell  a free command interpreter for FreeDOS



Home
Readme
Download
Status/Todo
Bugs



Status 

1-6-2002:
I started writing a set of standalone command for FDS. I uploaded them to the site. "date" should be finished. I copied a lot of functions from freecom, and had to change the license of the program. Welll nerver mind. "dir" is somehat finished, need a few parts to be debugged (losses memory, eats memory), get the default dir of a driver ("dir a:" is used as "dir a:\"), "dir /s" is not good ebough, "dir *.bat /s" does not work (since it looks for dirs name *.bat), the bug list if not finished yet fell free to contribute.... I supplu the build in inaries compiled under TC 1.01 next time hopefully they will be compiled with PacificC, need to work the the compability library. I have some building bugs in djgpp (dies in windows, but in dosemu I just need to reboot dosemu, funny).

20-4-2002:
It compiles with DJGPP (gcc 2.91), Turbo C 1.10 (from the museum), and Pacific C. You have project files for all those compiler in the ETC directory of the downloaded file.

I am developing this program using DJGPP and RHIDE under freedos, in a DOSEMU, using a Mandrake Linux OS, this version copmiles and run OK. I have not manage to get the enviroment segment under DJGPP (DJGPP libc does not include **environ variable), so the SET command is not full under DJGPP. One problem is that this version is not usable as the main shell. I tried freedos 2026, MS-DOS 7.1 (win98) MS-DOS 6.22, and some killed DOSEMU, while some just said that it is an invalid command interperter.

The official (final) version will be Turbo C 1.01, so this version is working OK too. It uses Ralph brown library for getting more RAM at spawn() functions. It can be used a a shell in freedos 2026, and MS-DOS. I found problems when swaping, because Turbo C runtime library does not save the changed enviroment into the DOS one, so spawn() programs did not know that the enviroment changed. I hacked something out: when spawning a program copy the enviroments ( **environ) into the DOS global enviroment. It worked like a charm. I still have problems with displaying all the enviroment variables (SET) since Turbo C library does not add them into the **environ variable. I will  work around it someday.

The PacificC compiler, compiles this program as well, and it can be used as a shell, but this compiler does not support a set of functions to change the enviroment variables. So it will process the AUTOEXEC.BAT, but it will not change variables like path. I will find a setenv() function for PacificC. This version does not use the Ralph brown library.

24-1-2002:
It is been sayed that a program with no bugs is a program that is not used... Well this programs does not contain bugs yet... ;)
There are many thing missing still. So be aware of this (for example the dir command...)

One thing I did find, is that it is not usable as the main command interperter, I hope I can fix this bug soon.

[Back ]